<?php
	$urlCurso			=	constant('PARAMETRO_1');
	$cursoVisualizado	=	new Curso(null, $urlCurso);
	$usuario = $this->getUsuario();
	$idUsuario	=	$usuario == null ? null : $usuario->getIdUsuario();
	$idCurso = $cursoVisualizado->getIdCurso();
	
	if ($idUsuario != NULL && defined('PARAMETRO_3') && constant('PARAMETRO_3') == 'forum') {
		$tipoUsuario = $usuario->getTipoCadastro();
		$permissao = new Permissao($idCurso,'forum',$tipoUsuario);
		if(defined('PARAMETRO_4') && constant('PARAMETRO_4') == 'alterarPermissoes'){
			if($permissao->checkPermissao('Alterar',$this->getUsuario()->getFuncaoUsuarioCurso($idUsuario,$tipoUsuario,$idCurso),0)){
				require('gerencia/permissoes.php');
			}else{
				redireciona(array('curso', $urlCurso, constant('PARAMETRO_2'), constant('PARAMETRO_3')));
			}
			
		}
		$forum = new Forum($cursoVisualizado->getIdCurso(),$idUsuario);
		if(defined(('PARAMETRO_4'))){
			if(is_numeric(constant('PARAMETRO_4'))){
				$idDisc = constant('PARAMETRO_4');
				$nomeDiscussao = $forum->getNomeDiscussao(constant('PARAMETRO_4'));
			}
		}		
		if(defined(('PARAMETRO_5'))){
			if(is_numeric(constant('PARAMETRO_5'))){
				$idTopico = constant('PARAMETRO_5');
				$nomeTopico = $forum->getNomeTopico(constant('PARAMETRO_5'));
			}
		}
		
		if($_POST){ //CASO EM QUE HA POST (inserir, excluir ou associar)
			

				
			if(isset($_POST['btnSalvarTopico'])){
				extract($_POST);
				$topico = $forum->inserirTopico($strNomeForum, $nomeDiscussao, $strMsgForum, $idTopico);
					
				if(isset($topico)){
					adicionaMensagem(texto('MENSAGEM_SUCESSO_SALVAR_ITEM'));
					redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', $idDisc));
				}else
					$_SESSION['constructore']['forum']['inserirForum']['strTitulo']				=	$strTitulo;
					$_SESSION['constructore']['forum']['inserirForum']['strMensagem']			=	stripslashes(pegaPost('strPost'));;
					$_SESSION['constructore']['forum']['inserirForum']['strDataIni']			=	$strDataIni;
					$_SESSION['constructore']['forum']['inserirForum']['strDataTer']			=	$strDataTer;
					adicionaMensagem(texto('MENSAGEM_ERRO_SALVAR_ITEM'), 'erro');	
			}
			
			if(isset($_POST['btnSalvarDisc'])){
				extract($_POST);
				
				if($forum->validarForum($strNome,$strTipo,getDataFormatoBd($strDataIni),getDataFormatoBd($strDataTer))){
					if($strTipo == 'multipla'){
						if($idNovoForum = $forum->inserirDiscussao($idCurso, $idUsuario, $strNome, $strTipo, getDataFormatoBd($strDataIni), getDataFormatoBd($strDataTer), $idForum)){
							foreach ($_POST as $chave => $post) {
								if (preg_match('/^strAssociacao[0-9]+$/', $chave) && $post != '--') {
									//Uma Associacao foi feita
									
									//conseguiu pegar o id do Aviso que acabou de inserir
									$matches	=	array();
									
									if (preg_match('/^([^|]+)\|\|([0-9]+)$/', $post, $matches)) {
										$categoriaItemAssociacao	=	$matches[1];
										$idItemAssociacao			=	$matches[2];
										
										$objAssociacoes	=	new Associacoes($cursoVisualizado->getIdCurso(), $idNovoForum, 'foruns', $cursoVisualizado->getUrlCurso(), $cursoVisualizado->getNomeModulo());
										$objAssociacoes->criarAssociacao($idItemAssociacao, $categoriaItemAssociacao, $idUsuario);
									}
								}
							}
							
							adicionaMensagem(texto('MENSAGEM_SUCESSO_SALVAR_FORUM'));
							redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum'));
						}
					}
					elseif($strTipo == 'unica'){
						if($idNovoForum = $forum->inserirDiscussao($idCurso, $idUsuario, $strNome, $strTipo, getDataFormatoBd($strDataIni), getDataFormatoBd($strDataTer),$idForum)){
							foreach ($_POST as $chave => $post) {
								if (preg_match('/^strAssociacao[0-9]+$/', $chave) && $post != '--') {
									//Uma Associacao foi feita
									
									//conseguiu pegar o id do Aviso que acabou de inserir
									$matches	=	array();
									
									if (preg_match('/^([^|]+)\|\|([0-9]+)$/', $post, $matches)) {
										$categoriaItemAssociacao	=	$matches[1];
										$idItemAssociacao			=	$matches[2];
										
										$objAssociacoes	=	new Associacoes($cursoVisualizado->getIdCurso(), $idNovoForum, 'foruns', $cursoVisualizado->getUrlCurso(), $cursoVisualizado->getNomeModulo());
										$objAssociacoes->criarAssociacao($idItemAssociacao, $categoriaItemAssociacao, $idUsuario);
									}
								}
							}
							if($idForum){
								if($forum->inserirTopico($strNome, $strNome, $strMsgForum,'null')){
									adicionaMensagem(texto('MENSAGEM_SUCESSO_SALVAR_FORUM'));
									redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum'));
								}
							}
						}
					}
					
					
				}
				
			}
			//Excluindo Discuss�es selecionadas
			if(isset($_POST['btnExcluirDisc'])){
				$erro = FALSE;
				$arrayDisc = array();
				foreach($_POST as $chave => $post) {
					if (preg_match('/^checkDiscussao[0-9]+$/', $chave)) {
						array_push($arrayDisc, str_replace('checkDiscussao', '', $chave));
					}
				}
				foreach($arrayDisc as $id) {
					if(!($forum->excluirDiscussao($id))){
						$erro = TRUE;
					}if(!($permissao->excluirPermissao($id))){
						$erro = TRUE;
					}
				}
				if(!$erro){
					adicionaMensagem(texto('MENSAGEM_SUCESSO_APAGAR_ITEM'));
				}else
					adicionaMensagem(texto('MENSAGEM_ERRO_APAGAR_ITEM'), 'erro');
			}
			//Excluindo t�picos selecionados
			if(isset($_POST['btnExcluirTopico'])){
				$erro = FALSE;
				$arrayDisc = array();
				foreach($_POST as $chave => $post) {
					if (preg_match('/^checkTopico[0-9]+$/', $chave)) {
						array_push($arrayDisc, str_replace('checkTopico', '', $chave));
					}
				}
				foreach($arrayDisc as $id) {
					if(!($forum->excluirTopico($id)))
						$erro = TRUE;
				}
				if(!$erro){
					adicionaMensagem(texto('MENSAGEM_SUCESSO_APAGAR_ITEM'));
				}else
					adicionaMensagem(texto('MENSAGEM_ERRO_APAGAR_ITEM'), 'erro');
			}
			 //alterar um post
			if(defined('PARAMETRO_7') && constant('PARAMETRO_7') == 'editar'){
				$idMensagem = constant('PARAMETRO_6');
				$strMensagem = $_POST['strResposta'];
				alteraMensagem($idMensagem, $strMensagem);
				
					if(isset($_POST['excluirArquivos'])){
						foreach($_POST['excluirArquivos'] as $idArquivo){
							excluiArquivo($idArquivo);
						}
					}
					//INSERE O ARQUIVO ANEXO CASO ELE EXISTA
					if($_FILES['arquivo']['size'] > 0){
						if($_FILES['arquivo']['size'] > 2100000){
							adicionaMensagem(texto('ARQUIVO EXCEDEU TAMANHA DE 2MB'), 'erro');
							
						}
						else if($_FILES['arquivo']['type'] == "application/octet-stream"){
							adicionaMensagem(texto('NAO É PERMITIDO ANEXO DE ARQUIVO EXECUTÁVEL'), 'erro');
						}
						else{
							$fileName = $_FILES['arquivo']['name'];
							$tmpName  = $_FILES['arquivo']['tmp_name'];
							$fileSize = $_FILES['arquivo']['size'];
							$fileType = $_FILES['arquivo']['type'];
							
							$fp      = fopen($tmpName, 'r');
							$content = fread($fp, filesize($tmpName));
							$content = addslashes($content);
							fclose($fp);
							
							if(!get_magic_quotes_gpc())	{
							
								$fileName = addslashes($fileName);
							
							}
							if($forum->inserirAnexo($fileName, $fileSize, $fileType, $content, $idMensagem)){
								adicionaMensagem(texto('ERRO AO ANEXAR ARQUIVO'), 'erro');
							}
						}
					}
						
						
					redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum',$idDisc,$idTopico));
				}
			
			foreach ($_POST as $chave => $post) {
					if (preg_match('/^btnResponder[0-9]+$/', $chave)) {
						//Vai responder uma mensagem
						$idMensagem		=	str_replace('btnResponder', '', $chave);
						$resposta	=	pegaPost('strResposta');
						$idMensagem = $forum->inserirMensagem($idMensagem, $resposta,$idTopico,null);
						if ($idMensagem) {
							//INSERE O ARQUIVO ANEXO CASO ELE EXISTA
							if($_FILES['arquivo']['size'] > 0){
													
								if($_FILES['arquivo']['size'] > 2100000){
									adicionaMensagem(texto('ARQUIVO EXCEDEU TAMANHA DE 2MB'), 'erro');
									
								}
								else if($_FILES['arquivo']['type'] == "application/octet-stream"){
									adicionaMensagem(texto('NAO É PERMITIDO ANEXO DE ARQUIVO EXECUTÁVEL'), 'erro');
								}
								else{
									$fileName = $_FILES['arquivo']['name'];
									$tmpName  = $_FILES['arquivo']['tmp_name'];
									$fileSize = $_FILES['arquivo']['size'];
									$fileType = $_FILES['arquivo']['type'];
									
									$fp      = fopen($tmpName, 'r');
									$content = fread($fp, filesize($tmpName));
									$content = addslashes($content);
									fclose($fp);
									
									if(!get_magic_quotes_gpc())	{
									
										$fileName = addslashes($fileName);
									
									}
									if($forum->inserirAnexo($fileName, $fileSize, $fileType, $content, $idMensagem)==FALSE){
										echo "ENTROU";
						die;
										$_SESSION['constructore']['forum']['mensagemResposta'] = $resposta;
										adicionaMensagem(texto('ERRO AO ANEXAR ARQUIVO'), 'erro');
									}
								}
							}
							
							
							redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum',$idDisc,$idTopico));
						}
						else {
							$_SESSION['constructore']['forum']['mensagemResposta'] = $resposta;
							adicionaMensagem(texto('MENSAGEM_ERRO_RESPONDER'), 'erro');
						}
					}
				}
				if (preg_match('/^btnExcluirMensagem[0-9]+$/', $chave)) {
					$idMensagem		=	str_replace('btnExcluirMensagem', '', $chave);
					if(excluiArquivoMensagem($idMensagem) && $forum->excluirMensagem($idMensagem)){
						
						adicionaMensagem(texto('MENSAGEM_SUCESSO_APAGAR_ITEM'));
					}
				}
		}
		$this->getSmarty()->assign('contexto', 'discussoes'); //Contexto
		
		if(!defined('PARAMETRO_4')) { //LISTAR DISCUSSÕES:
			$this->getSmarty()->assign('modo', 'listar'); //modo listar
			
			$listaDiscussoes = $forum->getDiscussoes($idCurso,'null');
			$permissoesDiscussao = new Permissao($idCurso, 'forum',$tipoUsuario);
			//Setando hfrefs no smarty
			if($tipoUsuario == "Professor" || $tipoUsuario == "Administrador"){
				$this->getSmarty()->assign('hrefAssociar', montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', 'associar')));
			}
			if($permissoesDiscussao->checkPermissao('Inserir',$usuario->getFuncaoUsuarioCurso($idUsuario,'Professor',$idCurso),0)){
				$this->getSmarty()->assign('hrefInserir', montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', 'inserir')));
				$this->getSmarty()->assign('podeInserir','true');
			}
			if($permissoesDiscussao->checkPermissao('Excluir',$usuario->getFuncaoUsuarioCurso($idUsuario,'Professor',$idCurso),0)){
				$this->getSmarty()->assign('podeExcluir','true');
			}
				
			if(isset($listaDiscussoes)){
				foreach($listaDiscussoes as $indice => $conteudo){
					if($permissoesDiscussao->checkPermissao('Ver',$usuario->getFuncaoUsuarioCurso($idUsuario,'Professor',$idCurso),$conteudo['id'])){
						$discussoes[$indice]['urlUsuario'] = montalink(array('usuario', $conteudo['idUsuario']));
						$discussoes[$indice]['urlUsuarioUltimaMod'] = montalink(array('usuario', $conteudo['idUsuarioUltimaMod']));
						$discussoes[$indice]['numTopicos'] = $forum->getNumTopicos($conteudo['id']);
						if($permissoesDiscussao->checkPermissao('Editar',$usuario->getFuncaoUsuarioCurso($idUsuario,'Professor',$idCurso),$conteudo['id'])){
							$discussoes[$indice]['hrefEditar'] = montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', $conteudo['id'],'editar'));	
							$discussoes[$indice]['editar'] = true;
						}
						$discussoes[$indice]['hrefEditar'] = montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', $conteudo['id'],'editar'));	
						$discussoes[$indice]['id'] = $conteudo['id'];
						$discussoes[$indice]['titulo'] = $conteudo['titulo'];
						$discussoes[$indice]['dataInicio'] = $conteudo['dataInicio'];
						$discussoes[$indice]['dataTermino'] = $conteudo['dataTermino'];
						$discussoes[$indice]['tipo'] = $conteudo['tipo'];
						$discussoes[$indice]['idUsuario'] = $conteudo['idUsuario'];
						$discussoes[$indice]['nomeUsuario'] = $conteudo['nomeUsuario'];
						$discussoes[$indice]['dataHoraInsercao'] = getDataHoraFormatada($conteudo['dataHoraInsercao']);
						$discussoes[$indice]['idUsuarioUltimaMod'] = $conteudo['idUsuarioUltimaMod'];
						$discussoes[$indice]['nomeUsuarioUltimaMod'] = $conteudo['nomeUsuarioUltimaMod'];
						$discussoes[$indice]['dataHoraUltimaMod'] = getDataHoraFormatada($conteudo['dataHoraUltimaMod']);
						if($discussoes[$indice]['tipo'] == 'multipla'){
							if($conteudo['dataInicio'] <= date("Y-M-D") && $conteudo['dataTermino'] <= date("Y-M-D"))
								$discussoes[$indice]['hrefTopico'] = montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', $listaDiscussoes[$indice]['id']));	
						}
						if($discussoes[$indice]['tipo'] == 'unica'){	
							$idTopico = $forum->getIdTopico($listaDiscussoes[$indice]['titulo'],$listaDiscussoes[$indice]['id']);
							if($conteudo['dataInicio'] <= date("Y-M-D") && $conteudo['dataTermino'] <= date("Y-M-D"))
								$discussoes[$indice]['hrefTopico'] = montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', $listaDiscussoes[$indice]['id'],$idTopico));
						}
						//pegando as associassoes de cada Forum
						$associacoesForuns	=	new Associacoes($cursoVisualizado->getIdCurso(), $conteudo['id'], 'foruns', $cursoVisualizado->getUrlCurso(), $cursoVisualizado->getNomeModulo());
						$arrayAssociacoes	=	$associacoesForuns->getAssociacoes();
						foreach ($arrayAssociacoes as $grupoAssociacoes => $associacoesGrupo) {
							foreach ($associacoesGrupo as $chaveAssociacao => $dadosAssociacao) {
								$dadosAssociacaoTemp	=	$dadosAssociacao;
								
								$dadosAssociacaoTemp['title']	=	texto('TITLE_ASSOCIACOES', array(strip_tags($dadosAssociacao['titulo'])));
								
								$arrayAssociacoes[$grupoAssociacoes][$chaveAssociacao]	=	$dadosAssociacaoTemp;
							}
						}
		
						$discussoes[$indice]['arrayAssociacoes']	=	$arrayAssociacoes;
						$this->getSmarty()->assign('listaDiscussoes', $discussoes);
					}
				}
				
			}
			//---------------Cabecalho da pagina-------------------------------
			$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array(texto('AREA_FORUM') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
			$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_FORUM') );
		}else{ //Caso tenha parametro 4:
			switch(constant('PARAMETRO_4')){
				case "inserir":
					$this->getSmarty()->assign('arrayItensInseridos', $cursoVisualizado->getItensInseridos());
					
					if (!isset($_SESSION['constructore']['inserirForum']['listaAssociacoes'])) {
						if (constant('PARAMETRO_3') == 'forum')
							$_SESSION['constructore']['inserirForum']['listaAssociacoes']	=	array('--');
						if (constant('PARAMETRO_2') == 'modulo')
							$_SESSION['constructore']['inserirForum']['listaAssociacoes']	=	array($cursoVisualizado->getNomeModulo() . '||' . $moduloVisualizado->getIdModulo(), '--');
					}
					$this->getSmarty()->assign('modo', 'inserir'); //modo inserir
					$this->getSmarty()->assign('hrefCancelar', montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum')));
					//---------------Cabecalho da pagina-------------------------------
					$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array(constant('PARAMETRO_4') . ' - ' . texto('AREA_FORUM') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
					$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_FORUM') . ' > ' . constant('PARAMETRO_4'));
					break;
				
				case "associar":

					$this->getSmarty()->assign('modo', 'associar'); //modo associar
					
					//---------------Cabecalho da pagina-------------------------------
					$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array($nomeDiscussao . ' - ' . texto('AREA_FORUM') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
					$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_FORUM') . ' > ' . $nomeDiscussao);
					break;
				
				default: //VIZUALIZAR DISCUSSAO:
					$this->getSmarty()->assign('nomeDiscussao', $nomeDiscussao); //seta variavel smarty
					$forumData = $forum->getDiscussoes($idCurso,$idDisc);
					$this->getSmarty()->assign('dataTermino',getDataFormatada($forumData['dataTermino']));
					//TODO testar se essa discussao existe no tópico
					
					$this->getSmarty()->assign('contexto', 'topicos'); //Contexto
					
					//---------------Cabecalho da pagina-------------------------------
					$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array($nomeDiscussao . ' - ' . texto('AREA_FORUM') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
					$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_FORUM') . ' > ' . $nomeDiscussao);
						
					if(!defined('PARAMETRO_5')) { //LISTAR TÓPICOS:
						$disc = $forum->getDiscussoes($idCurso,$idDisc);
						
						if($disc['tipo'] == 'unica'){
							redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum'));
						}else{
							$this->getSmarty()->assign('modo', 'listar'); //modo listar
							
							$listaTopicos = $forum->getTopicos($nomeDiscussao, $idCurso, 'null');
							
							$this->getSmarty()->assign('hrefInserir', montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum',$idDisc, 'inserir')));
							
							if(count($listaTopicos) > 0){
								foreach($listaTopicos as $indice => $conteudo){
									$listaTopicos[$indice]['urlUsuario'] = montalink(array('usuario', $listaTopicos[$indice]['idUsuario']));
									$listaTopicos[$indice]['urlUsuarioUltimaMod'] = montalink(array('usuario', $listaTopicos[$indice]['idUsuarioUltimaMod']));
									$listaTopicos[$indice]['href'] = montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', $idDisc, $listaTopicos[$indice]['id']));
									$listaTopicos[$indice]['numMensagens'] = $forum->getNumMensagens($listaTopicos[$indice]['id']);
									$listaTopicos[$indice]['hrefEditar'] = montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum', $idDisc, $listaTopicos[$indice]["id"],'editar'));
								}						
								$this->getSmarty()->assign('listaTopicos', $listaTopicos);
							}
						}
					
					}else{
						switch(constant('PARAMETRO_5')){
							case "inserir":
								$this->getSmarty()->assign('modo', 'inserir'); //modo inserir
								$this->getSmarty()->assign('hrefCancelar', montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum',$idDisc)));
								break;
								
							case "associar":
								$this->getSmarty()->assign('modo', 'associar'); //modo associar
								
								break;
							case "editar":
								$editar = $forum->getDiscussoes($idCurso,$idDisc);
								$_SESSION['constructore']['forum']['inserirForum']['titulo'] = $editar["titulo"];
								$_SESSION['constructore']['forum']['inserirForum']['dataInicio'] = getDataFormatada($editar["dataInicio"]);
								$_SESSION['constructore']['forum']['inserirForum']['dataTermino'] = getDataFormatada($editar["dataTermino"]);
								$_SESSION['constructore']['forum']['inserirForum']['tipo'] = $editar["tipo"];
								if($editar["tipo"] == 'unica'){
									$_SESSION['constructore']['forum']['inserirForum']['mensagem'] = $forum->getPrimeiraMensagem($idDisc) ;
								}
								$this->getSmarty()->assign('contexto', 'discussoes');		
								$this->getSmarty()->assign('idForum', $idDisc);
								$this->getSmarty()->assign('modo', 'editar'); //modo editar
								$this->getSmarty()->assign('hrefCancelar', montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum')));
								//---------------Cabecalho da pagina-------------------------------
								$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array($nomeDiscussao . ' - ' . texto('AREA_FORUM') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
								$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_FORUM') . ' > ' . $nomeDiscussao);
								break;
								
							default: //VIZUALIZAR TÓPICO
								$this->getSmarty()->assign('contexto', 'mensagens'); //Contexto									
								$this->getSmarty()->assign('modo', 'listar'); //modo listar
								$listaMensagens = $forum->getMensagens($idTopico,'null');
								if(isset($listaMensagens)){
									foreach($listaMensagens as $indice => $conteudo){
										$listaMensagens[$indice]["foto"] = $forum->getFotoUsuario($listaMensagens[$indice]["idUsuario"]);
										$listaMensagens[$indice]["nome"] = nomeSobrenome($forum->getNomeUsuario($listaMensagens[$indice]["idUsuario"]));
										$listaMensagens[$indice]["urlUsuario"] = montalink(array('usuario', $listaMensagens[$indice]['idUsuario']));										
										$listaMensagens[$indice]['tipoCadastro'] = $forum->getTipoCadastro($listaMensagens[$indice]['idUsuario']);
										$listaMensagens[$indice]["id"] = $listaMensagens[$indice]['idMensagem'];
										$listaMensagens[$indice]['hrefEditar'] = montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum',$idDisc,$idTopico,$listaMensagens[$indice]["idMensagem"],'editar'));
										$listaMensagens[$indice]['dataHoraInsercao'] = getDataHoraFormatada($conteudo['dataHoraInsercao']);
										if($listaMensagens[$indice]['idMensagemRespondida'] == 0 || $listaMensagens[$indice]['idMensagemRespondida'] == 'NULL'){
											$listaMensagens[$indice]["titulo"] = $forum->getNomeTopico($listaMensagens[$indice]["idTopico"]);
										}else{
											$listaMensagens[$indice]["titulo"] = 'RE: ' . $forum->getNomeTopico($listaMensagens[$indice]["idTopico"]);		
										}
										 //debug($listaMensagens[$indice]["anexos"]);
									}
									//pega os anexos das mensagens e os envia para o smarty
									$this->getSmarty()->assign('listaMensagens', $listaMensagens);
									//$this->getSmarty()->assign('listaAnexos', $listaAnexos);
								}
								
								if(defined('PARAMETRO_6') && constant('PARAMETRO_6') == 'editar'){
									$editar = $forum->getTopicos($nomeDiscussao,$idCurso,$idTopico);
									$_SESSION['constructore']['forum']['inserirTopico']['titulo'] 		 = $editar["titulo"];
									$_SESSION['constructore']['forum']['inserirTopico']['mensagem']		 = $editar["mensagem"];
									$this->getSmarty()->assign('contexto', 'topicos');		
									$this->getSmarty()->assign('editar', $editar);
									$this->getSmarty()->assign('modo', 'editar'); //modo editar
									$this->getSmarty()->assign('hrefCancelar', montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum',$idDisc)));
									$this->getSmarty()->assign('idTopico', $idTopico);
								}								
								//editar post
								if(defined('PARAMETRO_7') && constant('PARAMETRO_7') == 'editar'){
									$editar = $forum->getMensagens($idTopico,constant('PARAMETRO_6'));
									$_SESSION['constructore']['forum']['responder']['mensagem'] = $editar["mensagem"];
									$mensagens = $forum->getMensagens($idTopico,'null');
									$anexos = getListaAnexos(constant('PARAMETRO_6'));
									if(isset($mensagens)){
										foreach($mensagens as $indice => $conteudo){
											$listaAssuntos[$indice]["id"] = $mensagens[$indice]["idMensagem"];
											$listaAssuntos[$indice]["titulo"] = $forum->getNomeTopico($mensagens[$indice]["idTopico"]);
										}
									}
									$this->getSmarty()->assign('listaAssuntos', $listaAssuntos);
									$this->getSmarty()->assign('anexos', $anexos);
									$this->getSmarty()->assign('nomeTopico',$nomeTopico);
									$this->getSmarty()->assign('contexto', 'mensagens');
									$this->getSmarty()->assign('modo', 'editar'); //modo editar
									$this->getSmarty()->assign('hrefCancelar', montalink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'forum',$idDisc,$idTopico)));
									$this->getSmarty()->assign('idMensagem', constant('PARAMETRO_6'));
								}
								
								break;
						}
					}
					
				break;
			}
			
		}
		
		$this->exibir('forum');
		if(isset($_SESSION['constructore']['forum'])){
			unset($_SESSION['constructore']['forum']);	
		}	
	}else{
		redireciona(array('404'));
	}
?>